home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-08-04 | 9.5 KB | 249 lines | [TEXT/MPS ] |
- {********************************************
- ; File: MediaControl.p
- ;
- ;
- ; Copyright Apple Computer, Inc. 1991-1992
- ; All Rights Reserved
- ;
- ********************************************}
-
- UNIT MediaControl;
-
- INTERFACE
-
- USES Types, GSOS;
-
- { Control values for MCControl: }
-
- CONST
- mcCInit = $0001; { Initialize player. }
- mcCEject = $0002; { Eject disc. }
- mcCVideoOn = $0003; { Turn video on. }
- mcVideoOff = $0004; { Turn video off. }
- mcCDisplayOn = $0005; { Turn video position display on. }
- mcCDisplayOff = $0006; { Turn video position display off. }
- mcCBlankVideo = $0007; { Blank video for next MCSearchTo. }
- mcCDefaultCom = $0008; { Set default communications. }
- mcCLockDev = $0009; { Set the device to locked. }
- mcCUnLockDev = $000A; { Unlock the device. }
-
- mcC8Data1Stop = $0028; { Set 8 - data 1 - stop bit. }
- mcC7Data1Stop = $0029; { Set 7 - data 1 - stop bit. }
- mcC6Data1Stop = $002A; { Set 6 - data 1 - stop bit. }
- mcC5Data1Stop = $002B; { Set 5 - data 1 - stop bit. }
- mcC8Data2Stop = $002C; { Set 8 - data 2 - stop bit. }
- mcC7Data2Stop = $002D; { Set 7 - data 2 - stop bit. }
- mcC6Data2Stop = $002E; { Set 6 - data 2 - stop bit. }
- mcC5Data2Stop = $002F; { Set 5 - data 2 - stop bit. }
-
- mcCBaudDflt = $0032; { Set baud rate to control panel setting. }
- mcCBaud50 = $0033; { Set 50 baud. }
- mcCBaud75 = $0034; { Set 75 baud. }
- mcCBaud110 = $0035; { Set 110 baud. }
- mcCBaud134 = $0036; { Set 134 baud. }
- mcCBaud150 = $0037; { Set 150 baud. }
- mcCBaud300 = $0038; { Set 300 baud. }
- mcCBaud600 = $0039; { Set 600 baud. }
- mcCBaud1200 = $003A; { Set 1200 baud. }
- mcCBaud1800 = $003B; { Set 1800 baud. }
- mcCBaud2400 = $003C; { Set 2400 baud. }
- mcCBaud3600 = $003D; { Set 3600 baud. }
- mcCBaud4800 = $003E; { Set 4800 baud. }
- mcCBaud7200 = $003F; { Set 7200 baud. }
- mcCBaud9600 = $0040; { Set 9600 baud. }
- mcCBaud19200 = $0041; { Set 19200 baud. }
-
- mcCModem = $0064; { Set to modem port. }
- mcCPrinter = $0065; { Set to printer port. }
-
- mcCIgnoreDS = $00C8; { Ignore "disk switched" GSOS errors. }
- mcCReportDS = $00C9; { Report "disk switched" GSOS errors. }
-
-
-
- { Values for MCGetFeatures: }
-
- mcFTypes = 0; { How the disc is organized (frames, chapters, etc.). }
- mcFStep = 1; { Maximum fps speed value (normal is 255). }
- mcFRecord = 2; { Device supports MCRecord. }
- mcFVideo = 3; { Device supports toggling video. }
- mcFEject = 4; { Device supports ejecting medium. }
- mcFLock = 5; { Device supports user lock (locking user from physically
- operating the device). }
- mcFVDisplay = 6; { Device supports video display of location. }
- mcFVOverlay = 7; { No. of lines of overlay characters device supports. }
- mcFVOChars = 8; { No. of chars/line supported by overlay. }
- mcFVolume = 9; { Does volume control? }
-
-
-
- { Position unit types for MCGetPosition and other calls: }
-
- mcInChapters = 1; { Position is measured in chapters. }
- mcInFrames = 2; { Position is measured in frames. }
- mcInTime = 3; { Position is measured in hours,minutes,seconds,blocks. }
-
-
-
- { Status values for MCGetStatus: }
-
- mcSUnknown = $0000; { Player unable to determine this status. }
-
- mcSDeviceType = $0000; { "Device type" selector. }
- mcSLaserDisc = $0001; { Video laser disc player. }
- mcSCDAudio = $0002; { Audio CD player. }
- mcSCDLaserCD = $0003; { Combination laser/CD player. }
- mcSVCR = $0004; { VCR. }
- mcSCamCorder = $0005; { Video camera. }
-
- mcSPlayStatus = $0001; { "Play status" selector. }
- mcSPlaying = $0001; { The device is playing. }
- mcSStill = $0002; { The device is not playing (paused). }
- mcSParked = $0003; { The device is shut down. }
-
- mcSDoorStatus = $0002; { "Player door" status. }
- mcSDoorOpen = $0001;
- mcSDoorClosed = $0002;
-
- mcSDiscType = $0003; { "Disc type" selector. }
- mcS_CLV = $0001; { constant linear velocity }
- mcS_CAV = $0002; { constant angular velocity }
- mcS_CDV = $0003; { compact disc video }
- mcS_CD = $0004; { compact disc }
-
- mcSDiscSize = $0004; { "Disc size" selector. }
- mcSDisc3inch = $0003;
- mcSDisc5inch = $0005;
- mcSDisc8inch = $0008;
- mcSDisc12inch = $000C;
-
- mcSDiscSide = $0005; { "Disc side" selector. }
- mcSSideOne = $0001;
- mcSSideTwo = $0002;
-
- mcSVolumeL = $0006; (* Current Left volume selector *)
- mcSVolumeR = $0007; (* Current Right volume selector *)
-
-
- { Time parameter values for MCGetTimes: }
-
- mcElapsedTrack = $0000; { Elapsed time on current track/chapter. }
- mcRemainTrack = $0001; { Remaining time on current track/chapter. }
- mcElapsedDisc = $0002; { Elapsed time on disc. }
- mcRemainDisc = $0003; { Remaining time on disc. }
- mcTotalDisc = $0004; { Total run time on disc. }
- mcTotalFrames = $0005; { Total number of frames on disc. }
- mcTracks = $0006; { Binary start and ending track numbers (bits 31-16 = ending,
- bits 15-0 = starting track number.) }
- mcDiscID = $0007; (* Disc's identifier. *)
-
-
-
- { Audio values: }
-
- mcAudioOff = $0000; { Audio off. }
- mcAudioRight = $0001; { Audio thru right channel only. }
- mcAudioLinR = $0002; { Audio left in right only. }
- mcAudioMinR = $0003; { Audio mixed in right only. }
- mcAudioRinL = $0004; { Audio right in left only. }
- mcAudioRinLR = $0005; { Audio right in left and right. }
- mcAudioReverse = $0006; { Audio right in left, left in right. }
- mcAudioRinLMR = $0007; { Audio right in left, mixed in right. }
- mcAudioLeft = $0008; { Audio left channel only. }
- mcAudioStereo = $0009; { Audio both channels (in stereo). }
- mcAudioLinLR = $000A; { Audio left in left and right. }
- mcAudioLinLMR = $000B; { Audio left in left, mixed in right. }
- mcAudioMinL = $000C; { Audio mixed in left only. }
- mcAudioMinLRinR = $000D; { Audio mixed in left, right in right. }
- mcAudioMinLLinR = $000E; { Audio mixed in left, left in right. }
- mcAudioMonaural = $000F; { Audio mixed in left and right (monaural). }
-
-
-
- { Error codes: }
-
- mcUnImp = $2601; { Unimplemented for this device. }
- mcNotApplic = mcUnImp; { <see mcUnImp> }
- mcBadSpeed = $2602; { Invalid speed specified. }
- mcBadUnitType = $2603; { Invalid unit type specified. }
- mcTimeOutErr = $2604; { Timed out during device read. }
- mcNotLoaded = $2605; { No driver is currently loaded. }
- mcBadAudio = $2606; { Invalid audio value. }
- mcDevRtnError = $2607; { Device returned error (unable to perform). }
- mcUnRecStatus = $2608; { Unrecognizable status from device. }
- mcBadSelector = $2609; { Invalid selector value specified. }
- mcFunnyData = $260A; { Funny data received (try again). }
- mcInvalidPort = $260B; { Invalid port specified. }
- mcOnlyOnce = $260C; { Scans only once. }
- mcNoResMgr = $260D; { Resource manager not active. }
- mcItemNotThere = $260E; { Item not found in database. }
- mcWasShutDown = $260F; { Media Control Toolset was already shut down. }
- mcWasStarted = $2610; { Media Control Toolset was already started. }
- mcBadChannel = $2611; { Invalid channel number. }
- mcInvalidParam = $2612; { Invalid parameter. }
- mcCallNotSupported = $2613; { Call is not supported. }
-
- TYPE
- termMaskRec= PACKED RECORD
- mask: CHAR;
- termChar: CHAR;
- END (* termMaskRec *);
-
-
- (* Generic tool calls *)
-
- PROCEDURE MCBootInit;
- PROCEDURE MCStartUp(userID:INTEGER);
- PROCEDURE MCShutDown;
- FUNCTION MCVersion : INTEGER;
- PROCEDURE MCReset;
- FUNCTION MCStatus : BOOLEAN;
-
- (* Driver specific routines *)
-
- PROCEDURE MCLoadDriver(mcChannelNo: INTEGER);
- PROCEDURE MCUnLoadDriver(mcChannelNo: INTEGER);
- PROCEDURE MCDStartUp(mcChannelNo: INTEGER; portNamePtr: String255Ptr; drvrUserID: INTEGER);
- PROCEDURE MCDShutDown(mcChannelNo: INTEGER);
-
- (* Generic controller routines *)
-
- FUNCTION MCBinToTime(mcBinVal: Longint) : LongInt;
- PROCEDURE MCControl(mcChannelNo, ctlCommand: INTEGER);
- FUNCTION MCGetDiscID(mcChannelNo: INTEGER) : LongInt;
- PROCEDURE MCGetDiscTitle(mcDiscsID: LongInt; titlePtr: String255Ptr);
- FUNCTION MCGetDiscTOC(mcChannelNo, mcTrackNo: INTEGER) : LongInt;
- PROCEDURE MCGetErrorMsg(mcErrorNo: INTEGER; msgPtr: String255Ptr);
- FUNCTION MCGetFeatures(mcChannelNo, mcFeatSel: INTEGER) : LongInt;
- PROCEDURE MCGetName(mcChannelNo: INTEGER; namePtr: String255Ptr);
- FUNCTION MCGetNoTracks(mcChannelNo: INTEGER) : INTEGER;
- FUNCTION MCGetPosition(mcChannelNo, mcUnitType: INTEGER) : LongInt;
- PROCEDURE MCGetProgram(mcDiscsID: LongInt; mcProgPtr: resultbuf255ptr);
- PROCEDURE MCGetSpeeds(mcChannelNo: INTEGER; speedListPtr: String255Ptr);
- FUNCTION MCGetStatus(mcChannelNo, mcStatusSel: INTEGER) : INTEGER;
- FUNCTION MCGetTimes(mcChannelNo, mcTimesSel: INTEGER) : LongInt;
- PROCEDURE MCGetTrackTitle(mcDiscsID, mcTrackNo: INTEGER; trTitlePtr: String255Ptr);
- PROCEDURE MCJog(mcChannelNo, mcUnitType: INTEGER; mcNJog: LongInt; mcJogRepeat:INTEGER);
- PROCEDURE MCPause(mcChannelNo: INTEGER);
- PROCEDURE MCPlay(mcChannelNo: INTEGER);
- PROCEDURE MCRecord(mcChannelNo: INTEGER);
- PROCEDURE MCSetAudio(mcChannelNo, mcAudioCtl: INTEGER);
- PROCEDURE MCSetVolume(mcChannelNo, mcLeftVol, mcRightVol: INTEGER);
- PROCEDURE MCScan(mcChannelNo, mcDirection: INTEGER);
- FUNCTION MCSearchDone(mcChannelNo: INTEGER): BOOLEAN;
- PROCEDURE MCSearchTo(mcChannelNo, mcUnitType: INTEGER; searchLoc: LongInt);
- PROCEDURE MCSearchWait(mcChannelNo: INTEGER);
- PROCEDURE MCSendRawData(mcChannelNo: INTEGER; mcNativePtr: gsstring255Ptr);
- PROCEDURE MCSetDiscTitle(mcDiscsID: LongInt; titlePtr: String255Ptr);
- PROCEDURE MCSetProgram(mcDiscsID: LongInt; mcProgPtr: gsstring255ptr);
- PROCEDURE MCSetTrackTitle(mcDiscsID: LongInt; mcTrackNo: INTEGER; titlePtr: String255Ptr);
- PROCEDURE MCSpeed(mcChannelNo, mcFPS: INTEGER);
- PROCEDURE MCStop(mcChannelNo: INTEGER);
- PROCEDURE MCStopAt(mcChannelNo, mcUnitType: INTEGER; mcStopLoc: LongInt);
- FUNCTION MCTimeToBin(mcTimeValue: LongInt) : LongInt;
- PROCEDURE MCWaitRawData(mcChannelNo: INTEGER; rawDataPtr: resultbuf255ptr;
- tickWait: INTEGER; termMask: termMaskRec);
-
-
- IMPLEMENTATION
- END.